I/O Expansion circuit having a plurality of selectable input/output ports

ABSTRACT

An I/O expansion device for additional inputs and outputs, and an apparatus and a methed for applying this device. The device includes a connector (CN1) for the connection with a parallel port, a plurality of 4-bit input/output ports, and an I/O expansion circuit (100) having a 4-bit data bus for data transfer between a plurality of 4-bit input/output ports and the connector. The I/O expansion circuit (100) includes a control input CTRL including a strobe PROG for controlling fetch of the command for selecting the input/output ports and an operation mode, a data input DIN that receives a command in accordance with the state transition of the strobe PROG and data to be transferred to the input/output port selected by the command, and a data output DOUT for giving the state of the selected port through the connector.

FIELD OF THE INVENTION

The present inventions are related to I/O expansion devices that enablea system thereof to expand inputs/outputs by connecting it to parallelinterfaces of PC/AT or the PC/AT-compatible personal computers (orparallel input/output connectors equivalent ot the parallel interfaces),and apparatus applied with I/O expansion devices and methods appliedwith the device and the apparatus.

BACKGROUND ART

As for desktop personal computers, their expansion is ordinarily carriedout by inserting an expansion board in the body of the computers. As forthe PC/AT or PC/AT-compatible personal computers, their expansion isordinarily carried out to insert an expansion board based on so-calledISA bus standard into a bus slot. As for notebook-sized portablepersonal computers, an expansion board for the desktop personalcomputers can be installed by means of connecting an expansion box suchas a docking-station.

Recently, the PCMCIA standard is established, and models that can beextended by inserting an IC card (called a PC card) suitable for thisstandard into the card slot are in the market.

In the case where the expansion is carried out by inserting theexpansion board in the body like the desktop computers, a case of thebody must be opened. This is troublesome and a difficult work forpersons not having any knowledge of computer.

As for the portable personal computer, its advantage of portability waslost very much if it is connected to a docking-station, and extraexpense is required to purchase the docking station.

An expansion method of inserting an IC card in accord with the PCMCIAstandard into the card slot requires to purchase an expansion board fornewly additional expansion, because a desktop computer does notordinarily support the card slot. The PCMCIA standard has somerestrictions of IC card size because it has been derived from theexpansion memory cards. Therefore, the expansions with the IC card arelimited.

To solve these problems, it is an object of the present inventions toprovide I/O expansion devices for additional inputs and outputs withoutinserting the expansion board in the bus slot and inserting the IC cardinto the card slot, and apparatus and methods applying the devices.

And it is an object of the present inventions to apply for various usesand provide highly portable personal computers, by means of insertinginto the body of the computers like the IC card to apply the I/Oexpansion device to them.

SUMMARY OF INVENTION

An I/O expantion device according to the present inventions enables toexpand inputs and outputs of a personal computer by connecting it to aparallel interface of the personal computer, and includes a connectorfor connecting the inputs and outputs to a parallel interface; and anI/O expansion circuit connected to the connector, having data input toinput four or five bit data in a first register equivalent to a dataregister in the parallel interface, data output to output four bit datato a second register equivalent to a status register in the parallelinterface, and control input to input a signal from a third registerequivalent to control register of a parallel interface,

wherein the I/O expansion circuit has a plurality of four bitinput/output ports and a four bit data bus for transferring data betweenthese input/output ports and data input or data output, and outputs fourbit data provided form the data input to one of the input/output portsor outputs four bit data provided from one of the input/output ports tothe data output according to control from the control input.

The I/O expansion device according to one aspect of this invention isconnected to the parallel interface of the personal computer, and inputsand outputs of the personal computer are allowed to be expanded byselecting one of the input/output ports according to the control thecontrol input, and executing reading and writing of the selectedinput/output port.

An I/O expansion circuit according to the present inventions has aplurality of four bit input/output ports, a control input for inputtinga signal for controling the operation of the circuit, a data input for acommand for sellection of one of the input/output ports and read/writeof the selected input/output port and 4-bit data to write, and a dataoutput for outputting status of one of the input/output ports as 4-bitdata.

wherein the I/O expansion circuit has a write data bus for transferringdata from the data input to the input/output ports, and a read data busfor transferring data from the input/output ports to the data input, aregister, which is provided for each input/output port, for fetching andoutputting status of the write data bus, and control circuit forfetching the command for selecting one of the input/output ports andsetting operation mode in transition of a strobe which is one of controlinput,

and the control circuit makes the status of the selected input/outputport output from the data outputs when the fetched command is read mode,and makes 4-bit data provided to the input/output port in the returningtransition of the strobe fetched into the register of the selectedinput/output port and output from the selected input/output port.

The higher speed operation is expected because this I/O expansioncircuit comprises two unidirectional 4-bit data bus of the write databus and the read data bus.

An external strage device according to the present inventions comprisesa memory, is able to provide data stored in the memory to a personalcomputer via a parallel interface of the personal computer or store datafrom the personal computer, and comprises a connecter for connecting tothe parallel interface, and an I/O expansion circuit having a data inputfor inputting four or five bits of a first register equivalent to a dataregister in the parallel interface, a data output for providing four bitof a second register equivalent to a status register in the parallelinterface, and control input for inputing a signal from a third registerequivalent to a control register via the connector.

wherein the I/O expansion circuit comprises 4-bit input/outputsconnected to an address pin, a data pin and a pin for control of thememory, and a 4-bit data bus for transferring data between theinput/output ports and the data input or data output, and outputs 4-bitdata provided to one of the input/output ports.

In the external storage device, emulating the operations of the memoryby turning status of the input/output ports materializes access to thememory. In this way, The present invention provides an external storagedevice which is connectable to the parallel interface.

Methods for access to an external storage device according to presentinventions to connect the external storage device to a parallelinterface of a personal computer and to read data stored in a memory ofthe external storage device by means by writing data into a dataregister and a control register of a personal computer, include

puting one of input/output ports of an I/O expansion circuit connectedto data pins of a memory into read mode, setting address to write to thememory, making data written at the address to be output by writing 4-bitdata to one of input/output ports of an I/O expansion circuit connectedto pins for control of the memory, and reading the data in the memory byreading data output from one of input/output ports of an I/O expansioncircuit connected to data pins of the memory.

According to this method for access to an external storage device,operation of the memory is emulated, so that it is successfully carriedout to write data in the memory with the personal computer or to readdata in the memory.

Methods for access to an external storage device according to presentinventions to connect the external storage device to a parallelinterface of a personal computer and to write data into a memory of theexternal storage device by means of writing data into a data registerand a control register of a personal computer, setting address to writeto the memory, setting data to be written to one of input/output portsof an I/O expansion circuit connected to data pins of the memory,writing the into the memory by operation of writing data at the addressto be output by writing 4-bit data to one of input/output ports of anI/O expansion circuit connected to pins for control of the memory insequence.

An I/O extension unit according to the present invention has the I/Oexpansion circuit wherein read/write of input/output ports is controlledby one bit of the control input that outputs 4-bits data frominput/output port by writing the 4-bit data provided from the data inputto the input/output ports selected by the remaining three bits of thecontrol input, or may output 4-bit data provided to the input/outputports selected by the remaining three bits of the control input to thedata output.

In this I/O extension unit, read/write of the input/output ports arecontrolled by one bit of the control input, one of the input/outputports is selected by remaining three bits, and 4-bit data from the datainput is written to corresponding input/output port or 4-bit dataprovided to corresponding input/output port is output to the dataoutput, so that higher speed operation is successfully realized.

A computer according to the present inventions is characterized inhaving a parallel interface and that a program for access to an externalstorage device as a drive when the external storage device is connectedto the parallel interface is written in a ROM of the computer.

And a computer according to the present inventions having amicrocontroller formed on monolithic intergrated circuit with a parallelinterface which input and output at least 4-bit data and a ROM whichstores a program for operating the microcontroller,

wherein the parallel interface is connectable to a storage device havinga memory and an I/O external circuit which can exchange at least 4-bitdata between the parallel interface and the memory, address selectionand control of the memory through the I/O expansion circuit and exchangeof data at desired address of the memory is carried out by the programwritten in the ROM.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows the architecture of the parallel interface in the personalcomputer.

FIG. 2 shows an architecture of the I/O expansion device of the presentinvention.

FIG. 3 shows a specific example of the I/O expansion device of thepresent inventions.

FIG. 4 shows the relation between the status of each bit in port PA4 ofI/O expansion circuit 100 and identification of the connected memory.

FIG. 5 shows an example in which operation of reading data is carriedout byte by byte in the case that the SRAM or EEPROM is applied to thememory.

FIG. 6 shows an example in which operation of writing data is carriedout byte by byte in the case that the SRAM or EEPROM is applied to thememory.

FIG. 7 shows an example of the concrete connection with the I/Oexpansion device in the case of the SRAM or EEPROM.

FIG. 8 shows an example in which operation of reading data is carriedout byte by byte in the case that the DRAM or the memory with access bythe equivalent operation.

FIG. 9 shows an example in which operation of writing data is carriedout byte by byte in the case that the DRAM or the memory with access bythe equivalent operation.

FIG. 10 shows another example of the structure of the I/O expansiondevice.

FIG. 11 shows an example of the structure of the I/O expansion circuit.

FIG. 12 shows an example of the structure of control circuit MUX.

FIG. 13 shows another example of the structure of the I/O expansiondevice.

FIG. 14 shows the write sequence of the I/O expansion device shown inFIG. 13. FIG. 15 shows the read sequence of the I/O expansion deviceshown in FIG. 13.

FIG. 15 shows the read sequence of the I/O expansion device shown inFIG. 13.

FIG. 16 shows an internal structure of the personal computer using thestorage device which is made by connecting the memory to the I/Oexpansion circuit enumarated in the embodiments.

FIG. 17 shows an example of appearance of the personal computers shownin FIG. 16.

FIG. 18 shows an example of appearance of the personal computers shownin FIG. 16.

FIG. 19 shows an example of the connection with a microcontroller andthe I/O expansion device of the present invention.

FIG. 20 shows an example of the appearance design of the extension unitfor connecting the storage device using the I/O expansion device of thepresent invention to the personal computer.

FIG. 21 shows a block diagram of the inside of the expansion unit of thepresent invention.

FIG. 22 shows an application example of the construction of a set topbox using the I/O expansion of the present invention.

FIG. 23 shows an example fo the internal block diagram of a set top boxusing the I/O expansion of the present invention.

FIG. 24 shows the appearance design of a portable information terminalmade with the storage device using the I/O expansion circuit of thepresent invention.

FIG. 25 shows the block diagram of the internal design of the portableinformation terminal made with the storage device using the I/Oexpansion circuit of the present invention.

FIG. 26 shows an appearance design of the apparatus shown in FIGS. 24and 25 for furnishing automobles.

FIG. 27 shows a block diagram of the design around the MPU for suchapplication.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The parallel interface will be first described since the presentinventions enable expansion by use of a parallel interface of PC/AT orPC/AT-compatible personal computers.

The parallel interface is called a printer port because it is used forconnection with a printer, and it is described in the "TechnicalReference Personal Computer AT" issued form IBM incorporated. FIG. 1shows the architecture of the parallel interface in the personalcomputer.

A DSUB connector (female) with twenty-five pins is ordinarily used forthe parallel interface through which 8-bit parallel data can be outputto an external apparatus of the personal computer. The parallelinterface has three registers of data register (Data Register), statusregister (Status Register), and control register (Control Register),these are connected to an ISA bus that is the PC interface of the motherboard of the personal computer, and these are accessible from a CPU notshown. The data register and the control register are designed toexecute both write and read from the CPU, and the status register isdesigned to execute read only.

The status of the data register are output from pins 2 to pin 9 of theDSUB connector, and the signals of the pins 2 to 9 are named D0 to D7respectively. The status of bits 0 to 3 in the control register areinverted except bit 2 and are output to pins 1, 14, 16, and 17 of theDSUB connector. These signals are named STB, ALF, INI, and DSL and theremaining bits 4 to 7 are reserved. Bits 3 to 7 in the status registerindicate the status of pins 15, 13, 12, 10, and 11 of the DSUBconnector. Bit 7 indicates the inverted status. These signals are namedFEH, OFON, PAP, /ACK, and BSY, and the remaining bits 4 to 7 arereserved. Setting the value of bit 6 (pin 10 of the DSUB connector,signal /ACK) to "L" enables an interrupt of IRQ5 or IRQ7, and whetherthe interrupt is enabled or disabled is controlled with bit 4 in thecontrol register. The circuit for this control (IRQ logic) is equipped.

The address of the data register is set to one of 378H, 278H, and 3BCH("H" denotes a hexadecimal number), the address of the status registeris equal to the sum of 1 and the address of the data register, and theaddress of the control register is equal to the sum of 2 and the addressof the data register. Any one of the above registers are accessed bymeans of designation of these addresses from the CPU. An address decodecontrol circuit (Address Decode Control) shown in the figure controlsinput/output processing of each register as descrived above on the basisof address (A0 to A9) and read/write control signals (IOR, IOW) outputfrom the CPU.

The PC/AT is capable of writing 8-bit data to the data register andoutput 8-bit parallel data from the computer to an external device. Butthe written data is merely read from the data register, and thereforebidirectional 8-bit data transmission is impossible. SomePC/AT-compatible personal computers and PS/2 are capable of carrying outbiderectional 8-bit data transmission, using the data register. Howeverit is only the status register that can input data from an externaldevice via the parallel interface for any PC/AT or its compatiblepersonal computer.

In consideration of the afore-mentioned matters, on object of the I/Oexpansion device of the present inventions is to enable expansion ofinputs and outputs for any PC/AT or PC/AT-compatible personal computerby connecting it to a parallel interface.

FIG. 2 shows an example of configuration of the I/O expansion device ofthis invention.

The I/O expansion device has connector CN1 (including a card edgeconnector, hereinafter similarly) for connection with the parallelinterface of the body of the personal computer and I/O expansion circuit100 having a plurality of 4-bit data input/output ports (PORT 4, PORT 5. . . PORT n).

Four of pins 2-9 (signal lines D0-D7 from the data register) in theconnector CN1 are respectively connected to the data input DIN of theI/O expansion circuit 100. Through this the data input DIN, the I/Oexpansion circuit 100 inputs the 4-bit parallel signal transferred fromthe data register in the personal computer body via the connector CN1.In the case where parity is contained, the data input DIN of the I/Oexpansion circuit has a width of five bits and are respectivelyconnected to five bits of the signal lines D0-D7.

Pins 11-13, and 15 (signal lines /FEH, BSY, PAP, and ONOF to the statusregister) of the connector CN1 are respectively connected to 4-bit dataoutput DOUT of the I/O expansion circuit 100. The I/O expansion circuit100 is provided to output 4-bit parallel signal from the 4-bit dataoutput DOUT to the status register of the personal computer via aspecific pin of the connector CN1. In the case where a hardwareinterrupt signal is provided to the personal computer or the parity ofthe 4-bit parallel signal is contained, another output of the dataoutput DOUT is connected to signal line /ACK and is provided to bit 6 ofthe status register via pin 10 of the connector CN1. In this case, theinterrupt is active-low.

Required pins among the pins 1, 14, 16, and 17 (signal lines /STB, /ALF,/INI, and /DSL from the control register) of the connector CN1 areconnected to control input CTRL of the I/O expansion circuit 100. One oftheir pins is connected to strobe pin PROG of the I/O expansion circuit100. Transition of the strobe pin PROG from the initial status causesI/O expansion circuit 100 to input a command from the data input DIN.According to this command, one of ports 4-n is selected and the selectedport is put into the write or read mode. In the case of the read mode,the status of all pins of the selected port is output to data outputDOUT. In the case of the write mode, providing data to be written intothe selected port to the data input DIN, the transition of strobe PROGreturning to the initial status causes the data to be written to beoutput to all pins of the selected port.

Another one of signal lines /STB, /ALF, /INI, and /DSL from the controlregister is connected to pin /EN for controlling whether a signal to the4-bit the data input DIN is valid or invalid. To validate the signalsent to the 4-bit the data input DIN, it must be controled so that thesignal becomes valid by pin /EN.

In FIG. 2, operation of the I/O expansion circuit 100 is controlled bythe status of bits 0, 1, and 3 in the control register, and the strobePROG is controlled by the value of bit 2.

The rest of pins 2 to 9 (signal lines D0 to D7 from the data register)of the connector CN1 are connected to the power supply line to the I/Oexpansion circuit 100 or, if necessary, the control input CTRL of theI/O expansion circuit 100, and are used for power supply or control ofcircuit.

FIG. 3 shows a specific example of the I/O expansion device of thepresent inventions. This is the simplest example of architecture of anI/O expansion device where easy available ICs (4-bit bus buffers U1A andU1B. IO expanders U3 and U4) are used and they are connected to abidirectional 4-bit bus.

FIG. 3 also shows an application as a simple external storage device inwhich memory IC 28 is connected through ports PA1-PA7 and PB1-PB7 of theI/O expansion circuit 100.

Table 1 lists the connection of the registers in the parallel interface,connector CN1, and I/O expansion circuit shown in the figure. In thistable, the registers in the parallel interface (register names, bitnumbers) and signal names (signal name), the connector CN1 pin numbers(pin No.), destinations of signals (Destination), and connections withbus buffers U1A and U1B, and IO expanders U3 and U4 are shown alignedfrom the right of table 1.Arrow "♯" indicates the output from thecomputer body to the I/O expansion device shown in the figure, and arrow"←" indicates the input from the I/O expansion device shown in thefigure to the computer body.

                  TABLE 1                                                         ______________________________________                                        register name                                                                 bit No.                                                                       (signal name)                                                                           pin No  Destination                                                                              Connection                                       ______________________________________                                        Data register                                                                 0    (D0)  2                                                                  >         U1A     P20 of U3, U4                                               1    (D1)  3                                                                  >         U1A     P21 of U3, U4                                               2    (D2)  4                                                                  >         U1A     P22 of U3, U4                                               3    (D3)  5                                                                  >         U1A     P23 of U3, U4                                               4    (D4)  6                 CR1  for +5V                                     5    (D5)  7                 CR2  for +5V                                     6    (D6)  8                 CR3  for +5V                                     7    (D7)  9                 CR4  for +5V                                     Status register                                                               3    (/FEH)                                                                             15      <--        U1B  P20 of U3, U4                               4    (OFON)                                                                             13      <--        U1B  P21 of U3, U4                               5    (PAP)                                                                              12      <--        U1B  P22 of U3, U4                               6    (/ACK)                                                                             10      <--        EXTERNAL INTERRUPT                               7  * (/BSY)                                                                             11      <--        U1B  P23 of U3, U4                               Control register                                                              0  * (STB)                                                                               1                                                                  >                 /CS of U3                                                   1  * (ALF)                                                                              14                                                                  >                 /CS of U4                                                   2    (/INI)                                                                             16                                                                  >                 PROG of U3, U4                                              3  * (DSL)                                                                              17                                                                  >                 /EN of U1A                                                  4    IRQ frag                                                                 ______________________________________                                         *Inverted input or output                                                

Inputs 1A to 4A of the 4-bit bus buffer U1A are equivalent to the datainput DIN of the I/O expansion circuit 100. These are connected to pins2 to 5 of the connector CN1 for connection with the parallel interfaceand provided the signals D0 to D3 in lower four bits of the dataregister. Gate control pin /EN of the bus buffer U1A is equivalent to apin for controlling whether the signal sent to the data input DIN of theI/O expansion circuit 100 is valid or invalid. This pin is connected topin 17 of the connector CN1 and provided with a signal DSL of bit 3 inthe control register. Signals D0 to D3 are provided to ports P20 to P23of the IO expanders U3 and U4 via the bus buffer U1A and 4-bit bus onlywhen the status of bit 3 in the control register is 1 (pin 17 is putinto "L").

Outputs 1Y to 4Y of 4-bit bus buffer U1B are equivalent to the 4-bitdata output DOUT of I/O expansion circuit 100. These are connected topins 15, 13, 12, and 11 (signals /FEH, OFON, PAP, and /BSY) of theconnector CN1, and provide the status of ports (P20 to P23) of the IOexpanders U3 and U4 to bits 3, 4, 5, and 7 in the status register of thepersonal computer respectively through the 4-bit bus buffer U1A. Pin 10(signal /ACK) of the connector CN1 is connected to an interrupt input(/INT) from an external device, and the status of the interrupt input(/INT) is provided to bit 6 of the status register. In this case, theinterrupt signal (/INT) is active-low.

The gate control pin /EN of the bus buffer U1A and pins CS and PROG ofthe IO expanders U3 and U4 is equivalent to the control input CTRL ofthe I/O expansion circuit 100. Details of each pin of the IO expandersand their commands are described in the User's Manual issued from IntelIncorporated or its compatible chip manufacturer.

Pins /CS and PROG of the IO expanders U3 and U4 are connected to bits 0,1, and 2 (signals STB, ALF, and /INI) in the control register via pins1, 14, and 16 of the connector CN1. Pin /CS of the IO expanders U3 andU4 is the chip select input, and no data can be output and the internalstatus cannot be modified at all when this pin is put into "H". This pinis for control of the operation of the I/O expansion circuit 100, thatis, for controling whether a signal to the data input DIN is valid orinvalid. When the pin 1 is put into "L" (bit 0 in the control register),the IO expander U3 is selected. When the pin 1 is put into "L" (bit 0 inthe control register="1"), the IO expander U3 is selected. When the pin14 is put into "L" (bit 1 in the control register="1"), the IO expanderU4 is selected.

The pin PROG of IO expanders U3 and U4 is equivalent to strobe pin PROGof the I/O expansion circuit 100. The pins /CS and /EN are put into "L"and the strobe pin PROG is put from "H" into "L", so that a command viathe data input DIN is fetched. The upper two bits in the command areassigned for selection of ports in the IO expander (see Table 3) and thelower two bits are assigned for seting a mode of the selected port.

The operations of the IO expanders U3 and U4 are controlled by thestatus of bits 0, 1, and 2 in the control register. The strobe pin PROGis controlled by the status of bit 4 in the control register.

                  TABLE 2                                                         ______________________________________                                        BIT                SELECTED                                                   1      0           PORT         (PIN No.)                                     ______________________________________                                        0      0           PORT4        (P40-43)                                      0      1           PORT5        (P50-53)                                      1      0           PORT6        (P60-63)                                      1      1           PORT7        (P70-73)                                      ______________________________________                                    

                  TABLE 3                                                         ______________________________________                                        BIT                                                                           3         2                MODE                                               ______________________________________                                        0         0                READ                                               0         1                WRITE                                              1         0                ORLD                                               1         1                ANLD                                               ______________________________________                                    

For example, when the command is "20H", port 6 (P60-P63) is selected andput into the read mode (READ). The status of the port 6 is output tooutputs 1Y to 4Y in the bus buffer U1B and provided to the statusregister of the personal computer body. When the command is "01H", port4 (P40-P43) is selected and put into write mode (WRITE). The data to bewritten into the selected port is output from inputs 1A to 4A in busbuffer U1A and strobe PROG is returned from "L" to "H", so that data tobe written is output to all pins of the port 4.

Pins 6 to 9 of the connector CN1 are connected to the power supply line(+5V) via Schottky barrier diodes CR1 to CR4. Power for this I/Oexpansion circuit may be supplied by an external device, and such powersupply and control therefor are performed by the personal computer bodybecause the power consumption is reduced. Setting the upper four bits D4to D7 in the data register to "1" and pins 6 to 9 to "H", the power issupplied. Setting pins 6 to 9 to "L", supply of the power is stopped.Capacitor C1 is connected between the power line (+5V) and ground lineto reduce repples.

A power monitor circuit is also connected between the power line (+5V)and ground line. This power monitor circuit is used for monitoringwhether the voltage of the power line (+5V) is favorable, and can bearranged with power reset IC (U2), transistor TR1, resistor R1, andlight emitting diode CR5 as described in the figure. The power monitorcircuit shown in the figure lights light emitting diode CR5 to indicatethat the voltage of the power line (+5V) is favorable when it exceedsthe voltage determined by the power reset IC (U2). These circuitsconstitute power circuit section 120.

Ports P40-P43, P50-P53, P60-P63, and P70-P73 of the IO expanders U3 andU4 are respectively equivalent to input/output ports of the I/Oexpansion circuit 100. In this explanation, these ports are labeled withsymbols PA4, PA5, PA6, PA7, PB4, PB5, PB6, PB7. An algorithm for thepersonal computer body to output data to a specified port is realized bycontrolling the signal to the control input of the I/O expansion circuit100 as shown in table 4.

                  TABLE 4                                                         ______________________________________                                        state  /CS       PROG    /EN      DOUT                                        ______________________________________                                        0      L         H       L                                                    1      L         H       L        COMMND SET                                  2      L         L       L                                                    3      L         L       L        4BIT DATA SET                               4      L         H       L                                                    ______________________________________                                    

The algorithm for the personal computer body to input data from thespecified port of the IO expanders U3 and U4 is realized by controllingthe signal of the control input of the I/O expansion circuit 100 astable 5.

                  TABLE 5                                                         ______________________________________                                        state  /CS       PROG    /EN      DOUT, DIN                                   ______________________________________                                        0      L         H       L                                                    1      L         H       L        COMMND SET                                  2      L         L       L                                                    3      L         L       H                                                    4      L         L       H        DATA READ                                   5      L         H       L                                                    ______________________________________                                    

On the circuit configuration shown in FIG. 3, operation of output to theports is executed as follows. First, set "0111" to the upper four bitsof the control register, "0" to bit 3, and "1" to bit 2, and "1" to bit0 if the IO expander U3 is written or set "1" to bit 1 if the IOexpander U4 is written (Status 0 in Table 4). Keeping the upper fourbits of the data register "1111", set the write command of the desiredport to the lower four bits (Status 1 in Table 4). Next, set "0" to bit2 of the control register (Status 2 in Table 4). Keeping the upper fourbits of the data register with "1111", set the data to be written to thelower four bits (Status 3 in Table 4). Then set "1" to bit 2 in thecontrol register (Status 4 in Table 4). This process can be programmedwith a computer language such as Assembler, C language and so on. Thisprocessing programed with Assembler is shown as follows (variable "port"is set one of values 0H to 3H according to Table 2; variable "chip" isset one of values 0H or 1H according to the U3 or U4; variable "prt₋₋port" is set one of the parallel interface addresses.

    ______________________________________                                        MOVE               AL, chip                                                   OR                 AL, ECH                                                    OUT                (prt.sub.-- port+2), AL                                    MOVE               AL, port                                                   OR                 AL, F4H                                                    OUT                prt.sub.-- port, AL                                        MOVE               AL, chip                                                   OR                 AL, E8H                                                    OUT                (prt.sub.-- port+2), AL                                    MOVE               AL, write.sub.-- data                                      OR                 AL, F0H                                                    OUT                prt.sub.-- port, AL                                        MOVE               AL, chip                                                   OR                 AL, ECH                                                    OUT                (prt.sub.-- port+2), AL                                    ______________________________________                                    

On the circuit configuration shown in FIG. 3, the operation of inputfrom the port is executed as follows. First, set "0111" to the upperfour bits of the control register, "0" to bit 3, and "1" to bit 2, andset "1" to bit 9 if IO expander U3 is written or set "1" to bit 1 if IOexpander U3 is writen (Status 0 in Table 5). Keeping the upper four bitsof the data register "1111", set the read command of the desired port tothe lower four bits (Status 1 in Table 5). Next, set "0" to bit 2 of thecontrol register (Status 2 in Table 5). Set "1" to bit 3 of the controlregister (Status 3 in Table 5). Read and store the status of the statusregister (Status 4 in Table 5). Set "0" to bit 3 of the control registerand "1" to bit 2 (Status 5 in Table 5).

The processing can also be programmed with a computer language such asthe assembler, C language and so on. This processing programed with theassembler is shown as follows (data read from the port is stored in ALregister).

    ______________________________________                                        MOVE               AL, chip                                                   OR                 AL, ECH                                                    OUT                (prt.sub.-- port+2) AL                                     MOVE               AL, port                                                   OR                 AL, F0H                                                    OUT                prt.sub.-- port AL                                         MOVE               AL, chip                                                   OR                 AL, E8H                                                    OUT                (prt.sub.-- port+2) AL                                     MOVE               AL, chip                                                   OR                 AL, E8H                                                    OUT                (prt.sub.-- port+2), AL                                    MOVE               AL, chip                                                   OR                 AL, EOH                                                    OUT                (prt.sub.-- port+2), AL                                    IN                 AL, (prt.sub.-- port+1)                                    MOVE               BL, AL                                                     MOVE               AL, chip                                                   OR                 AL, ECH                                                    OUT                (prt.sub.-- port+2), AL                                    SHR                BL, 3                                                      AND                BL, 07H                                                    NOT                AL                                                         SHR                AL, 4                                                      AND                AL, 08H                                                    OR                 AL, BL                                                     ______________________________________                                    

As described above, this I/O expansion device inputs a command from thedata input DIN with the transition of strobe PROG from the initialstatus according to the control from the control register, so that thespecified port is put into the write or read mode. In the read mode, thestatus of the selected port is made to be output to data output DOUT. Inthe write mode, the data provided to the data input DIN is made to beoutput to the selected port. In other words, any personal computer witha parallel interface enables access to the desired one of the pluralports of the I/O expansion circuit 100 like the one-chipmicrocontroller.

Thus the input/output expansion is realized by increasing input/outputpins of the personal computer via the parallel interface. In this case,not only relays can be connected with some ports of the I/O expansiondevice for sequence control but also various hardware products can beconnected with them for operation.

FIG. 3 shows a specific example of architecture of the storage deviceusing memory IC 28. DRAMs, SRAMs, EEPROMs, flash memories,ferroelectrics memories and so on may apply to memory IC 28. Emulatingthe operations of writing and reading it by the above-mentionedalgorithm for accessing the ports materializes reading and writing forthe memory IC 28.

Ports P41-P43 of IO expander U4 are connected to switches SW1-SW3, andthe status of each switch is read from the ports, so that the connectedmemory is identified. Switch SW1 is connected to pin /WE for the controlof the writing memory IC 28, and can inhibit operation of writing.Switch SW2 works for identifying whether some memory is connected.Switch SW3 works for identifying whether the access type is DRAM type orSRAM type. FIG. 4 shows the relation between status of each bit in portPA4 of I/O expansion circuit 100 and identification of the connectedmemory, as an example. In this example, it is distinguishable whetherthe memory can be written (bit 3), the memory access sequence is SRAM orDRAM mode (bit 2) and some memory is connected (bit 1).

Flowcharts shown in FIG. 5 and FIG. 6 are an example in which readingand writing data are carried out byte by byte by the above-mentionedoperation of accessing the ports that data is written into the dataregister and the control register of the personal computer and data isread from the status register. And this is an example that SRAM orEEPROM is applied to the memory IC 28 in the circuit shown in FIG. 3.The memory IC 28's pins A0 to A14 for the address input, pins Q0 to Q7for data input/output, pins /CS, /OE, and /WE for control are connectedto ports of IO expanders U3 and U4 respectively.

The operation of reading data is successfully executed as follows. Putports P60-P63 and P70-P73 of the IO expander U4 connected to data pinsQ0-Q7 of the memory into the read mode, and write "1101" into the port 5of the IO expander U4 connected to pins /CS, /OE, and /WE forcontrolling memory to set "1" to P50 and P52 and "0" to P51. Then thepins /CS and /OE are put into the status "H" and the pin /WE is put intothe status "L". Next, set an address to ports P40-P43, P50-P53, P60-P63,or P70-P73 of the IO expander U3 connected to address pins A0-A13 of thememory to be written. The address is provided to pins A0-A14. And write"1100" into port P5 of the IO expander U4 to set "0" to P50. The pin /CSis put into the status "L" and the address is fetched into memory IC 28.The data at the address of the memory IC 28 is output to pins Q0-Q7.Read this output data from ports P60-P63 and P70-P73 of the IO expanderU4. Write "1101" and "1111" into port P5 of the IO expander U4 insequence to set "1" to the P50 and P52, then the pins /CS, /OE/ and /WEare put into the status "H" of the initial status.

The write operation is successfully executed as follows. Put each portof the IO expanders U3 and U4 into write mode, and set the address tothe ports P40-P43, P50-P53, P60-P63, and P70-P73 of the IO expander U3.And set data to ports P60-P63, and P70-P73 of the IO expander U4. It isequivalent that the alternate of these steps is done for the first.Next, write "1110" into the port P5 of the IO expander U4 to set "0" toP50. The pin /WE is put into status "L". Write "1010" into the port P5of the IO expander U4 to set "0" to P52. The pin /CS is put into status"L" and the address is fetched into memory IC 28. And write "1110" intoport 5 of IO expander U4 to set "1" to P52. The pin /CS is put intostatus "H". The data set to the ports P60 to P63 and P70 to P73 of IOexpander U4 is fetched at the address in the memory IC 28. Write "1111"into the port P5 of the IO expander U4 to set "1" to the P50 and to makethe pins /CS, /OE, and /WE put into status "H" of the initial status. IfEEPROM is applied to the memory IC 28, a specific interval is requireduntil the next access.

In the case of successively accessing, it is only modified parts of theaddresses to be set to the ports P40-P43, P50-P53, P60-P63, or P70-P73of the IO expander U3. For example, to access the address 1H afterwriting at the address 0H, only "0001" is required to be set to the portPA7. The memory that supports the burst mode brings reading data athigher speed by turning the status of pin /CS.

FIG. 7 shows an example of the architecture where DRAM or memory withaccess by the equivalent operation (for example, flash memory etc.) isapplied to the memory IC 28, and FIGS. 8 and 9 show an example that datais read and written in the circuit shown in FIG. 7.

The read operation is performed to be executed as follows. First, write"1111" into the port P5 of the IO expander U4 connected to the pins/RAS, /WE, and /CAS for controlling the memory. The pins /RAS, /WE, and/CAS of the memory are put into status "H". Set the upper bits of theaddress to the ports P50-P53, P60-P63, and P70-P73 of the IO expander U3connected to the address pins A0-A9 of the memory. Write "0111" into theport P5 of the IO expander U4. The pin /RAS is put into status "L" andthe upper bits of the address which has been set is fetched in memory.Next, Set the lower bits of the address ports P50-P53, P60-P63, P70-P73of the IO expander U3. Write "0110" into the port P5 of the IO expanderU4. The pin /CAS is put into status "L" and the lower bits of theaddress which has been set is fetched in memory. The data at the addressspecified by the upper bits and the lower bits is output from thememory. And Read the data from the ports P60-P63 and P70-P73 of the IOexpander U4 which are connected to the data pins Q0-Q3 of the memory.Write "1111" into the port P5 of the IO expander U4 to return to theinitial status, and the read operation is then completed.

In the operation of reading data successively in page mode or nibblemode, as shown in FIG. 8, after the execution of writing "0111" into theP5 of the IO expander U4 to return the pin /CAS to status "H", repeatthe execution of setting the lower bits of the address and the executionof reading data.

The write operation is performed to be executed as follows. First, write"1111" into the port P5 of the IO expander U4. Set the upper bits of theaddress to ports P50-P53, P60-P63, and P70-P73 of the IO expander U3.Write "0111" into the port P5 of the IO expander U4. Set data to theports P60-P63 and P70-P73 of the IO expander U4. Write "0011" into theport P5 of the IO expander U4. The pin /WE is put into status "L" and itis put into the write mode. Next, set the lower bits of the address toports P50-P53, P60-P63, and P70-P73 of the IO expander U3. Write "0010"into the port P5 of the IO expander U4. Write "0110" into the port P5 ofthe IO expander U4. Thus, the data which has been set is fetched intothe memory. Write "1111" into the port P5 of the IO expander U4 toreturn to the initial status, and the write mode is completed.

As described above, the use of the I/O expansion device materializes astorage device connected to the parallel interface so that the memoriescome to be connected to the parallel interface and the connected memorycomes to be read and written. And it is feasible for the I/O expansiondevice to operate another interface chip connected instead of memory bycontrolling the status of respective ports. In the device shown in FIG.3, port P40 of the IO expander U4 may be used for identifying whetheranother chip is connected and so on.

It was shown that the data width is eight bits, however, for example,the data bit width may be 4 or 16 bits to remove the DRAM 2 or to addsome memory. It is possible that RAM and ROM are also connected togetherand render in mixed use. In order to identify these cases, a firstspecified range of the memory is assigned to a header area whererequired data for identification data such as bit width, rewritabilityof the memory, total memory size, range of RAM area, range of ROM area,and so on is written, so that it comes to be used for general purposes.

Emulation of the hardware with the I/O expansion device materializes astorage device such as memory and disk unit, SCSI interface, GPIBinterface, and so on. When various hardware products such as networkadapter like Ethernet, A/D converter, and D/A converter are connected,these are in operation by control of the personal computer successfully.Different types of these hardware products can also be connected witheach other, so that the flexible input/output expansion may beperformed.

FIG. 10 shows another example of architecture of the I/O expansiondevice of the present inventors device where three IO expanders U3 andU5 are employed, so that an I/O expansion circuit 100 has more datainput/output ports PA4-PA7, PB4-PB7, and PC4-PC7.

Pins 1 and 14 of connector CN1 are connected to decoder U11 of whichoutput is connected to pin /CS of IO expanders U3-U5. As shown in Table6, one of the IO expanders U3-U5 is supposed to be selected according toany status of bits 0 and 1 in the control register.

                  TABLE 6                                                         ______________________________________                                        CONTROL       REGISTER  SELECTED                                              bit1          bit0      CHIP                                                  ______________________________________                                        0             1         U3                                                    1             0         U4                                                    1             1         U5                                                    ______________________________________                                    

Ports PC6 and PC7 are respectively connected to AND-gates U12, U13, andU14 for logical addition with respective ports and for logical additionwith all the signals to ports PC6 and PC7. An output of the AND-gate U12is provided to bit 6 (/ACK) of the status register as an active-lowinterrupt signal /INT'. When ports PC6 and PC7 are used for input, ahardware interrupt is activated in the personal computer by the inputfrom these ports. And, if the interrupt is occurred, which pin the inputhas been provided to is examined by reading the status of those ports.Processing which responds to the input from ports PC6 or PC7 isexecutable.

Outputs of AND-gates U13 and U14 are connected to ports PC43 and PC42,and when a hardware interrupt was activated, it is detectable which ofports PC6 and PC7 the input is provided to by means of reading the portPC4 and examining the states of the bits 3 and 4. Particularly whenthere are many input pins, in this way, processing which responds to theinput from ports PC6 or PC7 comes to start more quickly because whichone of pins PC60-PC63 or PC70-PC73 the input has provided with morequick inputs is detected.

The other parts are the same as those shown in FIG. 3. Therefore thefollowing operation similar to those shown in FIG. 3 provides access. Atransition of strobe PROG from the initial status by controlling of thecontrol register causes the command set in the data register, throughthe data input DIN to be input and the desired port to be put into writeor read mode. In the case of the read mode, by means of outputting thestatus of the selected port to data output DOUT, the status of theselected port from the status register is successfully read. In the caseof the write mode, the data provided for the input DIN is successfullyoutput to the selected port.

In FIG. 10, a circuit which should be connected to pins D4-D7 of theoutput of the data register is abbreviated. Lower power consumptionallows use of the same power circuit as that shown in FIG. 3 in thispart. And it materializes the expansion of the additional input/outputto connect an additional decoder to the output D4-D7 and connect the IOexpander to such additional decoder's output and the 4-bit bus.

FIG. 11 shows another example of the structure of an I/O expansioncircuit 100. As the circuits shown in FIG. 3 and FIG. 10 have abidirectional 4-bit bus, the circuit shown in FIG. 11 has a 4-bit writebus (4bit write BUS) for transfering the 4-bit data from the data inputDIN to the desired port (P4, P5, P6, P7, . . . ), and a 4-bit read bus(4bit read BUS) for transfering 4-bit the data from the selected port(P4, P5, P6, P7 . . . ) to data output DOUT. This circuit ischaracterized in that two of the unidirection 4-bit data bus is used.This circuit may be made with ordinary logic gates and also beintegrated on one chip.

The 4-bit ports of the I/O expansion circuit 100 are connected to Dflip-flops L4, L5, L6, L6, L7 . . . and input/output buffers B4, B5, B6,B6, B7 . . . respectively. D flip-flops L4-L7 . . . are for holding the4-bit data D0-D3 from the data input DIN through the 4-bit write bus(4bit write BUS). The input/output buffers B4-B7 . . . constitute acircuit for outputting the 4-bit data held in D flip-flops L4-L7 . . .to respective ports or supplying the 4-bit read bus with externalsignals provided to respective ports.

In the transition of the signal PROG from status "H" to status "L",control circuit MUX fetches a 4-bit command from the data input DIN andsets the port selected in accordance with the fetch command into writeor read mode. And it puts the status of the port selected in accordancewith the fetched command to be output to the data output DOUT via theinput/output buffer. In the case of the write mode, the data to bewritten into the selected port is provided to the data input DIN andstrobe PROG is returned to status "H", then the write data D0-D3 isfetched in one of the D flip-flop L4-L7 . . . selected in accordancewith the command and is output to respective pins of the selected portvia input/output buffers B4, . . . B7 . . . . In the case of read mode,the status of the selected port is only output to data output DOUTwithout operation of the write mode as described above.

Commands listed in Tables 2 and 3 are available for control circuit MUX,but because ANLD and ORLD modes are not necessarily required, thecommands listed in Tables 7 and 8 may be defined to select eight portsis selectable.

                  TABLE 7                                                         ______________________________________                                        BIT              SELECTED                                                     2       1     0          PORT      (PIN No.)                                  ______________________________________                                        0       0     0          PORT4     (P40-43)                                   0       0     1          PORT5     (P50-53)                                   0       1     0          PORT6     (P60-63)                                   0       1     1          PORT7     (P70-73)                                   1       0     0          PORT8     (P40-43)                                   1       0     1          PORT9     (P50-53)                                   1       1     0          PORT10    (P60-63)                                   1       1     1          PORT11    (P70-73)                                   ______________________________________                                    

                  TABLE 8                                                         ______________________________________                                        BIT 3                MODE                                                     ______________________________________                                        0                    READ                                                     1                    WRITE                                                    ______________________________________                                    

FIG. 12 shows an example of constitution of control circuit MUX usingthe commands listed in Tables 7 and 8. This circuit shown in FIG. 12 iscomposed of standard logic gates as D flip-flop FF0-FF3, decoder DEC,and latches LL10-LL17.

When the signal PROG is changed from status "H" to status "L", Dflip-flops FF0-FF3 fetch the 4-bit command from the data input DIN andprovide it to decoder DEC. In accordance with lower three bits of thefetched command, the decoder DEC outputs control signals to one ofinput/output buffers B4-B11 and one of D flip-flop L4-L11 in thecorresponding port. Then the decoder DEC makes the status of the portoutput to data output DOUT from the selected one of the input/outputbuffers B4-B11. The latches LL10 to LL17 are provided for portsrespectively, and are for holding the mode bit which is "read" or"write". D flip-flop FF3 serves for holding a command of "read" or"write", and the status of this register is held in latches LL10 to LL17corresponding to the selected port when a signal PROG returns to status"H". When write mode "write" is held, a corresponding one of theinput/output buffers B4-B11 outputs the status of a selected one of theD flip-flops L4-L11 with the command to the port.

In the I/O expansion circuit 100, there is no need to switch thedirection of the 4-bit data because the 4-bit buses are unidirectional.Therefore in the present invention the I/O expansion device providedwith this circuit provides higher operation speed.

FIG. 13 shows another example of architecture of the I/O expansiondevice of the present invention. This I/O expansion device is also madewith connector CN1 (also including a case where a card edge connector isused for this) and I/O expansion circuit 100, and has power voltagemonitor circuit 120 with the same as that shown in the above mentionedexample. In this example shown in FIG. 13, the I/O expansion circuit 100is constituted with basic logic gates instead of the I/O expander, andit is feasible to integrate on one chip. This I/O expansion unit isconstituted as follows.

The I/O expansion circuit 100 has 4-bit write bus and 4-bit read bus,and is characterized in that these two unidirectional 4-bit data busesare used. The 4-bit write bus is provided 4-bit data from the data inputDIN via buffer U1A and transfers it to the desired port (PA4, PA5, . . .PA7, PB4, . . . PB7) via one of the input/output circuits 101-108described later. The 4-bit read bus transfers the 4-bit data from theselected port (PA4, PA5, . . . PA7, PB4, . . . PB7) to data output DOUTvia one of input/output circuits 101-108.

Input A0-A2 of decoder U110 are connected to control input CTRL of I/Oexpansion circuit 100 and assigned to pins 1, 14, and 16 of theconnector CN1 (signal lines /STB, /ALF, and /INI from the controlregister). Decode outputs /00-/07 of the decoder U110 are active-low andare designed to select of one of input/output circuits 101 to 108described later according to values of bits 0, 1, and 2 in the controlregister (bit 2 is inverted and is provided to input A2 of the decoderU110).

The input/output circuits 101-108 are installed for input/output portsPA4 to PA7 and PB4 to PB7 respectively. These input/output circuits101-108 hold and output data to be output to ports PA4 to PA7 and PB4 toPB7 or input data from ports PA4 to PA7 and PB4 to PB7 when decodeoutputs /00-/07 are provided, respectively. The status of bit 3 in thecontrol input CTRL determines whether the 4-bit data to be output to theport is held. When the status of bit 3 of the control input CTRL (pin 17of the connector CN1, i.e. the signal lines /STB, /ALF, /IN1, or /DSLfrom the control register (bit 3) is "L", each input/output circuit101-108 holds the 4-bit data in latch U111A within each of theinput/output circuits 101-108 which is selected with decode outputs/00-/07 of decoder U110 (pins 1, 14, and 16 of the connector CN1, i.e.signal lines /STB, /ALF, and /INI from the control register (bit 0, 1,2) and outputs the data. Then the 4-bit data from buffer U111B withinone of the input/output circuits 101-108 which is selected with decodeoutputs /00-/07 of the decoder U110 (pins 1, 14, and 16 of the connectorCN1 i.e. signal lines/STB, /ALF, and /INI from the control register(bits 0, 1, and 2) is output.

As shown in the figure, each of the input/output circuits 101-108 iscomposed of 4-bit buffer U111B for outputting the data provided toinput/output ports PA4-PA7 and PB4-PB7 to the 4-bit read bus, and 4-bitlatch U111A for holding the data provided to the 4-bit read bus andoutputting the data to each of the input/output ports PA4-PA7 andPB4-PB7. And each of the input/output circuits 101-108 is composed ofgate U111C for controlling the operation of buffer U111B, gate U111D forcontrolling the operation of the buffer U111B, and D flip-flop (D-FF)U111E for holding the read/write status of each of the input/outputports PA4-PA7 and PB4-PB7. FIG. 14 shows the operation in the circuitdesign shown in FIG. 13. Referring to this figure, the operation isdescribed as follows.

The operation of writing four-bit data to one of the input/output portsPA4-PA7 and PB4-PB7 is executed as follows. At first, set the 4-bit datato be written to the lower four bits in the data register of thepersonal computer body to output this 4-bit data from pins 1-4 ofconnector CN1, then the data is provided for the data input DIN (FIG. 14(A)). The 4-bit data is output to the 4-bit write bus.

Set 3-bit data (bits 0, 1, and 3 inverted) for selecting one of theports to the lower three bits of the control register in the personalcomputer body, then the 3-bit data is output from pins 1, 14, and 16 ofconnector CN1. Set "0" of write status to the bit 3 of the controlregister. Then the value of bit 3 is provided for control input CTRL ofthe I/O expansion circuit 100 in parallel with the 3-bit data (status ofbit 3 (CTRL3) of control input CTRL is "H"). One of the decode outputs/00-/07 of the decoder U110 turns to "L" depending on the 3-bit data inbits 0-2 of the control input CTRL (see FIG. 14 (B)). That selects oneof the input/output ports PA4-PA7 and PB4-PB7 and activate one of theinput/output circuits 101-108.

When one of the decode outputs /00-/07 is set to "L", at its fallingedge the value "0" in bit 3 of the control register is set in the D-FFU111E of a selected one of the input/output circuits 101-108. This valueindicates the operation of writing data into the selected input/outputport, and it is held in the D-FF U111E even if the status of pin 17 ofthe connector CN1, that is, bit 3 of the control input CTRL is set to"L" (the falling edge of the waveform in FIG. 14 (C)).

According to the status "H" of bit 3 of the control input CTRL and thestatus "L" of the selected decode output /00 to /07, output of gateU111D of a selected one of the input/output circuits 101-108 is set tostatus "H". Then latch U111A comes to be enabled to fetch data, and4-bit data output from the data input DIN to the 4-bit write bus islatched in 4-bit latch U111B. When the holding value "0" is output fromthe D-FF U111E, the latch U111A come to be enabled to output data andthe 4-bit data is output from a selected one of the input/output portsPA4-PA7 and PB4-PB7 (FIG. 14 (D)).

Thus it is feasible that the 4-bit data output from the data input DINto the 4-bit write bus is latched in the 4-bit latch U111B and is outputfrom the selected input/output port PA4-PA7 and PB4-PB7). In this waythe operation of writing into the desired port is carried out.

Setting "1" to bit 3 of the control input CTRL (the rising edge of thewaveform in FIG. 14 (C)) place the output of the gate U111C of theselected one of the input/output circuits 101-108 into status "L" andthe 4-bit data provided for the selected input/output port is output tothe 4-bit read bus via buffer U111B. And the 4-bit data output to this4-bit read bus is output to data output DOUT via the buffer U1B (FIG. 14(E)).

The output 4-bit data is provided for bits 3, 4, 5, and 7 of the statusregister via pins 11 to 13 and 15 of the connector CN1. By means ofreading this with the personal computer body, the 4-bit data output fromthe input/output port can be stored in the personal computer.

When 4-bit data is output to one of the input/output ports PA4 to PA7and PB4 to PB7, it is designed not only for data output but also for theconfirmation of whether the 4-bit data output to the port is correct.This can be programmed with a computer language such as assembler, Clanguage and the like. With the assembler language, this processing isprogrammed as follows (variable "write₋₋ data" means the write data, andvariable "port" means a value of one of input/output ports PA4-PA7 andPB4-PB7, corresponding to one of 0H to 7H where bits 0, 1, and 2 beinginverted. Variable "prt₋₋ port" means an address of the parallelinterface). An example shown below is programmed in consideration of theapplication to an 8-bit CPU such as a PC-XT compatible system, and maybe amended by use of register transfer instructions, string transferinstructions and so on so that the operation can run at high speed on a16-bit or 32-bit CPU.

    ______________________________________                                                             /* prepare ctrl bit3 "H"                                                                       */                                      MOVE  AL, write.sub.-- data                                                                        /* output write data                                                                           */                                      OR    AL, FOH                                                                 OUT   prt.sub.-- port, AL                                                     OUT   (prt.sub.-- port+2), port                                                                    /* one of /00-07 fall down                                                                     */                                      OUT   (prt.sub.-- port+2), (port+8)                                                                /* ctrl bit3 "H"->"L"                                                                          */                                                           /* (if write sequence continue)                                                                */                                      OUT   (prt.sub.-- port+2), port                                                                    /* ctrl bit3 "L">"H"                                                                           */                                      /*IF check write data, insert followings after LINE 5                                                       */                                              IN    AL, (prt.sub.-- port+1)                                                 MOVE  BL, AL                                                                  SHR   BL, 3                                                                   AND   BL, 07H                                                                 NOT   AL                                                                      SHR   AL, 4                                                                   AND   AL, 08H                                                                 OR    AL, BL                                                                  ______________________________________                                    

Next, read operation is similar to write operation except that "1"remains set to bit 3 in the control register (bits 0, 1, and 3inverted). The write operation is executed as follows.

Set "1" to bit 3 in the control register to put bit 3 in the controlinput CTRL into "L" (FIG. 15 (B)). And set 3-bit data for selecting anoutput port to bits 0, 1, and 2 in the control register of the personalcomputer body to output such 3-bit data from pins 1, 14, and 16 ofconnector CN1 (FIG. 15 (A)).

This 3-bit data in the control input CTRL puts one of the decode outputs/00 into /07 of decoder U110 into "L", and this transition of bit 3 ofthe control input CTRL into "L" causes the output of gate U111C to beput into "L". The 4-bit buffer U111B come to be enabled to output data,and a 4-bit data provided for one of the input/output port (PA4 to PA7and PB4 to PB7) selected by the decoder U110 is output for the 4-bitread bus via buffer U111B. And the 4-bit data output for the 4-bit readbus is output for data output DOUT via the buffer U1B (FIG. 14 (C)).

The output 4-bit data is provided to bits 3, 4, 5, and 7 in the statusregister via pins 11 to 13 and 15 of the connector CN1. To read thiswith the personal computer body, the 4-bit data output from theinput/output port is stored in the personal computer body.

The transition of one of the decode outputs /00 to /07 of the decoderU110 from "H" to "L" causes the value "1" of the bit 3 in the controlregister to be set to D-FF U111E. This value indicates the operation ofreading data from the selected input/output port, and the output of theD-FF U111E is set to "1", so that an output of the latch U111A is putinto its high-impedance condition and inhibited.

Thus the 4-bit data from one of the input/output ports PA4-PA7 andPB4-PB7 which is selected with the lower three bits in the controlregister is successfully stored in the personal computer. Thecorresponding port is also put into the read mode successfully.

The read operation can be also programmed with a computer language suchas the assembler or C language. With the assembler language, the readoperation is programmed as follows (the data read from the port is heldin the AL register).

    ______________________________________                                                              /* prepare ctrl bit3 "L"                                                                      */                                      OUT    (prt.sub.-- port+2), (port+8)                                                                /* one of /00-07 fall down                                                                    */                                                            /* hold ctrl bit3 "L"                                                                         */                                      IN     AL, (prt.sub.-- port+1)                                                                      /* read 4bit data status port                                                                 */                                      MOVE   BL, AL                                                                 SHR    BL, 3                                                                  AND    BL, 07H                                                                NOT    AL                                                                     SHR    AL, 4                                                                  AND    AL, 08H                                                                OR     AL, BL                                                                 ______________________________________                                    

In the input-output extension device as shown the example in FIG. 13,the memories are connectable and the operation of reading and writingthe connected memory is executable as shown in FIGS. 3 and 7, therefore,a storage device connected to the parallel interface is successfullymaterialized by the input-output extension device shown in FIG. 13. Whenthe memory is connected as shown in FIGS. 3 and 7, the read and writeoperations are successfully performed as FIGS. 5, 6, 8, and 9 whereports PA4-PA7 is substituted for ports P40-P43, P50-P53, P60-P63, andP70-P73 of the IO expander U3 and ports PB4-PB7 is substituted for portsP40-P43, P50 -P53, P60-P63, and P70-P73 of the IO expander U4.

And it is feasible to connect not only the memory but also otherinterface chips which are operated by controlling the status of eachport. Additionally, it is feasible to connect plural different types ofchips. In this I/O expansion device, a specific port may be used foridentifying whether a chip other than memory is connected.

Now, the following section explains an example of the personal computerusing the storage device in which the memory is connected with one ofthe I/O expansion devices as shown in FIGS. 3 and 7. FIG. 16 shows aninternal constitution of the personal computer.

Reference numeral 300 points out the body of the personal computer thathas the similar structure to ordinary PC-XT or PC-AT compatible machineand consists with CPU 310 compatible with 80X86, RAM 320, BIOS ROM 330,keyboard 370, peripherals 350 such as the parallel interface, serialinterface and sound interface, video interface 385, and internal bus 301for connecting these components. There are IC's where the CPU 310,peripherals 350, and video interface 385 are integrated on a single chipsuch as CHIPS & TECHNOLOGIES's F8680A and the like. There are otherchips where the CPU 310 and peripheral device 350 are integrated on asingle chip, too.

In the embodiment described in the figure, a monochromatic or color LCD(reference numeral 380) is used as a display unit to reduce powerconsumption, so that it can be battery-powered easily. Speaker 360 forthe output of the sound interface is built in. And connector CN3 usedfor the output of the parallel interface, connector CN4 used for theoutput of the serial interface, and connector CN5 (for example, forS-VIDEO) used for the output of the sound and video interfaces areinstalled.

The storage device 200 has a structure such that memory 180 is connectedto any I/O expansion circuit 100 as described above, and is designed tobe connected to connector CN3 via connector CN1 to be connected to theparallel interface of personal computer 300. The circuit shown in FIG.13 is prefered to be used for the I/O expansion circuit 100 so as tooperate at high speed.

The personal computer 300 is made so that a program for reading programsor data written into the memory 180 of the storage device 200 is writteninto the BIOS ROM 330 and the use of program 340 provides access to thememory 180 of the storage device 200 as the Drive. This program issuccessfully made with the routines shown in FIGS. 5, 6, 8, and 9(including the application to the circuit shown in FIG. 13). Thepersonal computer 300 is characterized in this respect.

At the start up when the storage device 200 is connected to the personalcomputer 300, the CPU 310 reads the program or data in the storagedevice 200 to memory 320 by means of executing the program 340 writteninto BIOS ROM 330 and executes the program. The CPU 310 stores data inthe storage device 200 as the Drives using the program 340.

The personal computer body 300 constituted in above manner is permittedto be miniaturized and reduced power consumption so as to standlong-time use under battery-operated condition. Therefore a highlyportable personal computer is provided.

Equivalent programs for the existing PC-XT or PC-AT compatible personalcomputer can apply to the program in the memory 180 of the storagedevice 200. Therefore it is easy to transport such programs written forthe PC-XT or PC-AT compatible personal computer to the personal computer300.

Connectability and accessibility of the storage device 200 with theparallel interface of a desktop-type or notebook-type of personalcomputers provides the shared use of the programs or data in storagedevice 200. After the personal computer 300 is used outdoors byconnecting with storage device 200, the programs and data in the storagedevice 200 can be used indoors by connecting the storage device 200 to adesktop-type or notebook-type personal computer.

It will be appreciated that various types of appearance may be formedsince the main body of the personal computer 300 is constituted asdescribed above to be small-sized. FIGS. 17 and 18 show an example ofappearance. FIG. 17 shows a view from the side of the LCD 380. FIG. 18shows a view from the opposite side.

This appearance is characterized in the storage device 200 is providedas a cartridge into the body of personal computer 300.

As shown the figure, the storage device 200 is provided with the I/Oexpansion circuit 100 and the memory 180 contained in case 201, andconnector CN1 outside the case 210 to connect with the parallelinterface of the personal computer 300. The storage device 200 isdesigned to be inserted in personal computer 300 by sliding it with theaid of features such as concave and convex shown in the figure. Theconnector CN3 of the body of the personal computer 300 id designed to beconnected with the connector CN1 when the storage device 200 is insertedinto the personal computer 300.

The connector CN3 is a female type when the connector CN1 is a maletype.

The appearance of the cartridge is not only a containable type insertedin the case 201 but also a thinner type like a card or other than thatshown in the figure. The connectors CN1 and CN3 are applied to the miniDSUB connector and card edge connector as to match the size of thestorage device 200. The cartridge is not only inserted in the body ofthe personal computer by sliding it but also installed directly in thepersonal computer.

As shown in the drawing, inserting the storage device 200 in thepersonal computer 300 provides direct connection with the connector CN1and connector CN3 of the body of the personal computer 300. This directconnection reduces affection of noise without use of cables forconnecting the storage device 200 with the parallel interface of thebody of the personal computer 300, expecting high-speed access to thestorage device 200.

The number of keys on keyboard 370 is reduced to minimize the size ofthe personal computer 300 and for easy operation. For smaller size andmore easy-to-use, a software-oriented virtual keyboard using the cursorkey is prefered to be substituted for the ten key. In spite of increaseof parts, the personal computer 300 may be provided with a track ball orpen-interface input.

The POWER switch 390 is provided on the side of the body of the personalcomputer 300 so that the battery-operation is possible. Connector CN5for the output of the sound and video interfaces which is placed on theside of the body of the personal computer 300 allows use of a large sizeas a display screen if connected to a TV set.

The personal computer 300 is so designed that via the parallel interfacethe storage device 200 is connected in tis body as the IC card. Theconnector CN1 works for connecting with the parallel interface. Thepersonal computer 300 has high portability and is available for variouspurposed depending on the programs in the storage device 200. Forexample, the personal computer come to be used as a portable gamecomputer when a game program is written in the storage device 200.Various additional functions are also provided by mounting varioushardware products other than memories in the cartridge.

Thus, using the I/O expansion devices shown in the above examples whichis connectable to the personal computer via the parallel interface, apersonal computer with good portability and available for variousapplications is provided.

The above I/O expansion devices are described for the connection withthe parallel interface. The 4-bit data is input from or output to aselected input/output port of the I/O expansion device to emulateoperations of the data register, control register, and status register.For example, by means of extending registers having functions equivalentto those three registers in the personal computer and connecting theextended register to the above-mentioned I/O expansion device, theequivalent operation is materialized successfully.

The 4-bit data is successfully input from or output to the selectedinput/output port of the above I/O expansion device by using parallelports (PIO) of the microcontroller. FIG. 19 shows an example of theconnection with them.

Microcontrollers built in various appliances may be used formicrocontroller (MPU) 400 which is only required to have the PIO. Thefigure shows an example that the cartridge 200 is connected to parallelports P0 and P2. In this example, the data input DIN of the I/Oexpansion circuit 100 is connected to parallel port P0 of MPU 400, dataoutput DOUT of the I/O expansion circuit 100 is connected to parallelport P1 of the MPU 400, and control input CTRL of the I/O expansioncircuit 100 is connected to the parallel port P2 of the MPU 400.

Further, in this example, the power is directly supplied to thecartridge 200 by directly connecting the pin which was connected tooutput D4-D7 of the data register in FIGS. 3 or 13 to the power supplyline (+5V).

The 4-bit data comes to be input from and output to the desired port ofthe I/O expansion circuit 100 by operating parallel ports P0, P1 and P2so that the output of the parallel ports P0, P1 and P2 are equivalent tothe output of the data, status, and control registers respectively.

The 4-bit data is output to a desired port by means of the followingalgorithm, when the MPU has eight-bit width, bit 0-3 of the parallelports P0 and P2 are respectively connected to the I/O expansion circuit100, and a circuit shown in FIG. 13 is used as the I/O expansion 100.The P0, P1, and P2 mean parallel ports P0, P1 and P2 respectively. Theothers contents are the same as those described above. For example,variable `port` means one of input/output ports PA4-PA7 and PB4-PB7 ofthe I/O expansion circuit 100 as described above.

    ______________________________________                                               MOVE        AL, write.sub.-- data                                             OUT         P0, AL                                                            OUT         P2, (port+8)                                                      OUT         P2, port                                                          OUT         P2, (port+8)                                                      /* IF check write data, add followings line */                                IN          AL, P1                                                     ______________________________________                                    

The operation of inputting the 4-bit data is carried out by means of thefollowing algorithm.

    ______________________________________                                                OUT          P2, port                                                         IN           AL, P1                                                   ______________________________________                                    

In this way, that data is stored in the memory and the stored data isread is successfully carried out by emulating the operations of readingand writing memory by means of inputting and outputting the 4-bit datafrom and to the desired port of the I/O expansion circuit 100. In thecase that the circuit shown in FIG. 3 is used, the 4-bit data is inputfrom and output to the desired port of the I/O expansion circuit 100equivalently.

As described above, according to the above-mentioned I/O expansiondevices, it is easy to input and output 4-bit data with amicrocontroller having parallel ports. Because of its easy connectionwith the MPU, the storage devices using the above-mentioned I/Oexpansion devices are also available as the external storage of variousappliances (ex. a facsimile, a modem, a telephone set, a copy machine, aprinter, a video tape recorder and so on). Further, such devices alsorealize the exchange of data among these appliances and personalcomputers.

To apply that the above I/O expansion device is easily connected to aone-chip microcontroller having parallel ports as described above, anextension unit for connecting the above storage device to a personalcomputer is easily constituted.

FIG. 20 shows an example of the appearance design of the extension unit.Extension unit 500 can be connected to SCSI interface or printerinterface of a personal computer via cable. This expansion unit can beconnected up to four cartridges 200. The cartridges are classified intoa thick type (reference numeral 200a) and thin type (reference numeral200b) depending on required mechanical shapes.

FIG. 21 shows a block diagram of the inside of the example. Because ofthe limited number of PIO outputs, the microcontroller (MPU) 400 isconnected to chip 410 for parallel interface (for example 8255A, 6823,or 82C11 and the like including the chip for printer interface) via itsbus interface (bus I/F), so that the number of the PIO outputs isincreased. The chip 410 for parallel interface is also connected toconnector 410 for the connection with the printer or SCSI interface ofthe personal computer. The chip 410 for parallel interface is furtherconnected to connector 420 for daisy chain connection. A program for theoperation of this chip 410 for the parallel interface to work as theprinter interface or the SCSI interface is written in the ROM (notshown) connected to MPU400. The chip 410 for parallel interface isconnected to switch 440 for selecting means for connecting with thepersonal computer from the printer interface and the SCSI interface.

The PIO of the MPU 400 are connected to the cartridges 200. This unit ischaracterized in that four cartridges are connectable. Pins ctr10,ctr11, ctr12 of the cartridge 200 are commonly connected, but pins ctr13are separately connected to the PIO of the MPU400. Pins Din of thecartridges 200 are commonly connected, but pins Dout are separatelyconnected to the PIO of the MPU400. In this example, the pins of eachcartridge 200 which were connected to outputs D4-D7 of the data registerare directly connected to the power unit (+5V) equivalently to theexample shown above, so that the power is directly supplied to thecartridge 200.

This connection mode reduces the number of the PIO outputs. And, 4-bitdata is output by following algorithm in the case that assume that pinsctr1-ctr12 of the cartridges 200 are connected to the lower four bits ofparallel port P2, pins ctr13 of respective cartridges 200 are connectedto the upper four bits of parallel port P2, pins Dout of respectivecartridge 200 are connected to parallel port P1X (X is a value of portto each cartridge), and the circuit shown in FIG. 13 is used:

    ______________________________________                                        MOVE        AL, write.sub.-- data                                             OUT         P0, AL                                                            OUT         P2, (port+x) /* x=08h, 0fh, 10h, or 20h */                        OUT         P2, port                                                          OUT         P2, (port+x)                                                      /* IF check write data, add followings line */                                IN          AL, P1X                                                           ______________________________________                                    

The operation of inputting the 4-bit data is carried out by means offollowing algorithm.

    ______________________________________                                                OUT          P2, port                                                         IN           AL, P1X                                                  ______________________________________                                    

Even if the number of the cartridges 200 is increased, as described inthis example, the data is successfully stored in a memory and the storeddata is successfully read by emulating the operations of reading andwriting the memory by means of inputting and outputting the 4-bit datafrom and to the desired port of the I/O expansion circuit 100equivalently to the example shown in FIG. 19.

The operation of reading and writing the memory are written in the ROM(not shown in FIG. 19) connected to the MPU 400, and MPU 400 can accessmemory 180 of the storage device 200 as a Drive by reading the programor data written in the memory of the storage device 200 and using it.

Various devices (for example, 8-bit, 16-bit, 8086 compatible, 68Kcompatible devices and so on) are permitted to apply to the MPU 400, andespecially the use of a device compatible with the 8086 (for example,8086, 80188, V25, V50, am186EM, Am386EM, and so on) providescompatibility with PC/AT compatible machines in software. In the casethat SCSI interface is used for the connection with personal computers,it is easy to transport the SCSI driver software developed for the PC/ATcompatible machines. In the case that a printer interface is used forconnection with the personal computer, it is easy to transport commandsas DOS, for example "intersvr". It is easy to operate as a drive bymeans of these software products developed for the PC/AT compatiblemachines. Therefore, the above ROM where these software products iswritten brings easy construction of the extension unit.

Further, the I/O expansion device that is easy to be connected with theMPU provides constructions of very simple appliances using the one-chipmicrocontroller.

FIGS. 22 or 23 shows an application example of a communication devicewhich is designed as a set top box having a CATV converter.

FIG. 22 shows an appearance design of the set top box, and this set topbox 510 inputs a signal from a TV antenna or CATV cable and outputs avideo signal to the TV set 502. And Modem 504 is connectable, therefore,the communication using a telephone line (including wirelesscommunications such as cellular phone, PHS, and so on) is provided. Ajoy pad (Joy pad) 520 having fewer keys than an ordinary full keyboardis used as input device, and the input from the joy pad 520 istransmitted to the set top box 510 by infra-red ray or cable. Furthercartridge 200a or 200b is connectable.

FIG. 23 shows an example of the internal design of the set top box 510.

The set top box 510 incorporates receiver 600 for TV or CATV. Thereceiver 600 is equivalent to a receiver used for ordinary TV or CATV.The receiver 600 has a TV tuner 620 for receiving and demodulating TV orCATV signals and descrambler 620 for descrambling the scrambled videosignal from TV tuner 610, and outputs video signals from the TV or CATVsignals. When the input signal is corresponds to digital TV, thereceiver 600 is suitable for it.

Various devices are applicable to apply to the MPU 410, but preferredCPU is what has 80386 or higher for the CPU core is prefered,considering of 32-bit operation support and compatibility withMS-Windows a widely -used operating system at present. Also takingmultimedia use into consideration, the clock frequency is prefered to beas high as possible. For example, AMD's Am386EM, Am486SE, Am486SE,Am486SELV, etc are cited as such CPUs, taking account of cost. TheseCPUs are able to operate at 40 or 33 MHz clock frequency. For anotherexample, such a chip as the PowerPC is cited in future.

The MPU of AMD's Am386EM has thirty-two pins of PIO and two ports of SIOas well as the bus interface, DRAM interface, DMA and the timer, and itis designed to connect the MPU to peripheral chips.

The bus interface of the MPU is connected to DRAM 540, ROM 550, displayinterface 530, and sound interface 560. It can be connected to the otherperipherals such as a CD-ROM drive having IDE interface, if necessary.These peripherals are the equivalents that are used for ordinarypersonal computers (However, the chip described later seems to bepreferred to be used for the display interface 530 described later).

Outputs of the display interface 530 and video signal from receiver 600are alternately selected or added and output from the video output. Asituation that the video signals output from descrambler 620 are digitalsignals permits writing the digital video signals directly to the videomemory of the display interface 530. To increase the drawing speed,display interface 530 is prefered to perform two-dimentional orthree-dimensional image processing. Considering that it is used formultimedia, it seems that prefered video chips used for the displayinterface 530 are chips used for so-called home game machines such as3DO, SEGA's SATURN, SONY's PLAY-STATION and so on.

The PIO of the MPU are prepared in connection with the cartridges 200aand 200b as described above. The number of PIO pins is reduced by thecommon connection with pins ctr1 to ctr12 and pin Din of the cartridge200, and this is the same as the example as described above. The PIO ofthe MPU is connected to interface 580 of joy pad 520 to input data fromjoy pad 520. The interface 580 of joy pad 520 may be connected to theMPU bus interface.

One of the SIO within the MPU or the rest of the PIO are connected toreceiver 600, which provides selection of the channel and control of theunscramble. The other of the SIO of the MPU is ready to connect with themodem and the like, which provides communication by telephone line andthe like. Communication services as karaoke is able to be brought.

As the example described above, a program for reading or writing thestorage device 200 is written in ROM 550, which brings access to thememory of the storage device 200 as the Drive. As an operating systemthat can be written in the ROM and is compatible with MS-Windows, forexample, "Modular Windows" is well-known, which is developed byMicrosoft Corporation (cf. Nikkei Electronics p99, Feb. 1, 1993). Thisoperating system can support additional driver softwares such as adriver for accessing a memory of the storage device 200, a driver forreceiver control, and a driver for a display interface matching a videochip (including image processing). The operating system with theseadditional drivers which is written into the ROM 550 improves a set topbox shown in the figure with an easy-to-use graphic interface andfavorable multimedia use.

Though there are different types of video chips, the driver for thedisplay interface performs an operation based on a common API(Application Program Interface). The API installed in an operatingsystem of the personal computer extends use of software products for theset top box shown in the figure to personal computers.

The storage device 200 can hold user ID, information and softwares forcontrolling the unscramble, and so on. The unscramble control is carriedout by means of selection of the channel and a driver for controllingthe unscramble.

Thus the set top box is available for the management of TV and CATVviewers besides multimedia uses. Combination of these uses is allowed.So processing informations sent from TV or CATV is also allowed.

For example, telemarketing through CATV is prospering recently. The useof the set top box improve the exchange of information such as supply ofprice information and proposal of purchase via modem while watching TV.

Domestic TV broadcast in Japan have transmission of video and charactersignals at the same time, named teletext. It is feasible for variousdigital signals sent for the teletext to transfer to the PIO and SIO ofthe MPU 410. And various process of these digital signals with the MPU410 of the set top box can be carried out. In this way, TV and CATV areput in multiple use. The storage device 200 also stored with programsfor such processings makes the stored programs exchangeable, therebyspreading an applied range of the set top box very widely.

A portable information terminal is well-known as a device using "ModularWindows" (Nikkei Electronics 1p99, Feb. 1, 1993). FIG. 24 shows itsappearance design as to insert storage device 200 shown in each of theabove-mentioned embodiments into its body.

In this design, a color display (CGA, VGA, or SVGA) is preferred for LCDdisplay 380 rather than a monochrome one. A keyboard including cursorkey 370 may be used as the input device, but the reduction of the numberof the keys is prefered. If need be, the keyboard is connected byconnector or pen entry. And there is connector CN5 for sound and videooutputs for displays. The communication with telephone line viaconnector CN7 is possible.

FIG. 25 shows a block diagram of the internal design of the portableinformation terminals shown in FIG. 24. The information terminals areallowed to be used for the moves such as automobiles. The MPU 410 may bethe same as that shown in FIGS. 22 and 23. In this example, the AMDAm386EM is used for the MPU 410.

The bus interface of the MPU is connected to the DRAM 540, ROM 550,display interface 530, and sound interface 560. These units are the sameas those used in ordinary personal computers (A special interface is notrequired for the display interface 530 because the LCD is used fordisplay). As required, the other peripheral devices, for example, SCSIand IDE interfaces are allowed to be connected. Connecting suchinterfaces brings connection with CDROMs for example.

The PIO of the MPU is prepared to be connected to cartridges 200a and200b described above. The number of PIO outputs is reduced by connectingpins Din and ctr1 to ctr12 of the cartridge 200 commonly, and this isthe same as the example described above. The ROM 550 stores theoperating system, Modular Windows, and the additional drivers such as adriver for accessing the memory of the storage device 200 as a drive, adriver for communication control described later, and a driver for adisplay interface suitable for video chips.

One of the SIO of the MPU (or the rest pins of PIO are) is so connectedto an input device as to supply the input to it. The other SIO of theMPU is ready to be connected to DCE (data circuit terminatingequipment). The DCE, assumed to be a modem generally, is prefered to beprovided with the digital signal without converting it into an analogsignal, since internal digital signal processings in mobile radiocommunications such as cellular phone, PHS, and transceivers are carriedout. The communication is provided via extensions connected to the PIOor bus interface rather than the communication by telephone line viaprovided the SIO, taking the transmission speed into account.

Having such a design provides down-sizing and low power consumption tostand for a long-time even under battery-powered condition. Therefore,the present inventions provide a highly portable and easy-to-useinformation terminal.

It is possible for the program written into the storage device 200 tohave compatibility with existing Ms-Windows, so that it is easy totransport a program written for the existing MS-Windows in the portableinformation terminal.

Sharing program or data in the storage device 200 with desktop-type ornotebook-type personal computers is allowed. Therefore, it is possibleboth to use this portable information terminal outdoors (in automobile)and to use the program or data in the storage device 200 indoors byconnecting the storage device 200 to a desktop-type or notebook-typepersonal computer. Thus the program or data is available in equalcircumstance irrespective of the outdoors and indoors.

Running so-called navigation software with a GPS receiver connected tothe SIO of the MPU displays routes or current positions on map. In thiscase, storing the navigation software and map data in the storage device200 presents easy operations for users. I think that response of thedisplay on the map will be improved by adoption of a chip developed fora car navigation system or chip used for home game machines such as 3DO,SEGA's SATURN, SONY's PLAY-STATION and so on as a chip used for thevideo display interfaces when the storage device 200 is used as aninformation terminal for movers.

FIG. 26 shows an appearance design to furnish automobles, where LCDmonitor for furnishing automobles is connected as a display and a phoneon the move like a transceiver for automobles or a cellular phone isconnected as means for communication. A GPS receiver is connected foroperations of a navigation system. The body is equipped with the inputdevice. This appearance design improves the use on the movers such asautomobiles.

Different assignments of the PIO and SIP to access the peripherals areallowed. Measure of these case is amendments of the drivers in agreementwith the assignment.

The Microsoft's ATWork is well-known as a conception of the dataexchange among office machines. This storage device of the presentinventions is also available for the ATWork. FIG. 27 shows a blockdiagram of the design around the MPU for such application.

On an equality with peripheries of an ordinary MPU, the bus interface isconnected to the DRAMs and the ROMs and also LCD interface. And theinput device is connected to the PIO or the SIO.

It is easy to execute operation of reading and writing data in thestorage device 200 which is connected to the PIO of the MPU. Thus thedata exchange among various office machines is achieved through the useof the storage devices 200.

The present inventions are not limited in the above-mentionedembodiments, and various modification may be allowed.

For example, it is assumed that it is an ordinary usage to connect theabove-mentioned I/O expansion device to the parallel interface. However,the same operation will be obtained after extending registers having thesame functions as those of the data register, control register andstatus registers in the personal computer, and connecting the extendedregisters to the I/O expansion device. And the body of the the personalcomputer may contain an extension board having a sequencer which worksthe I/O expansion devices to fulfil the operation of reading and writingdata instead of the parallel interface. Further, a connector to connectthe personal computer with the I/O expansion device is not limited to ashape of the 25-pin DSUB like a desktop computer.

The above system structures using the MPU having PIO (shown in FIGS. 23,25, and 27) prove the basic structures of the systems using removablestorage devices with the memory. In the case of this basic, there are8-bit ones which are allowed to be used as the extension circuit 100 forthe storage devices 200 except the 4-bit one described above. Forexample, there are the Intel's 8255 or compatible chips and theMotorola's MC146823 or compatible chips which are allowed to be used forthe extension circuit 100. In this case, data transfer is 8-bit paralleltransfer. Pins Din and Dout are collected as a 8-bit data input/outputpins. In the case of the 8-bit parallel transfer, data pins D0-D7 of theparallel interface are used for connecting the storage device to theparallel interface of the personal computer.

An operating system other than the Modular Windows, for example, Mac OS,is allowed to be stored in the ROM.

Accordingly, the scopes of the present inventions shall not berestricted to embodiments, and should be considered what the appendedclaimes indicate.

As described above, according to the present inventions, writing andoutputting 4-bit data to the selected input/output port or outputtingthe status of the selected input/output port from the data output toprovide the status register is carried our by means of connecting theinput-output extension unit to a parallel interface of the personalcomputer and the transition of the strobe status to provide a commandthrough the first register for selecting one of input/output ports.

In this way, inputs/outputs of the personal computer are extended by theoperation of selecting one of the input/output ports, and reading andwriting the selected input/output port.

An external storage device is constructed by connecting the memory toinput/output ports, where the operations of writing data into the memoryand reading data in the memory with the personal computer aresuccessfully carried out.

Further, the design having the access from the personal computer as adrive in the case that the input/output expansion devices of the presentinventions provides a highly portable personal computer available forvarious purposes.

What is claimed is:
 1. An I/O expansion circuit comprising:a pluralityof input/output ports for parallel data; a data input for inputting saidparallel data; a data output for outputting said parallel data; a databus for data transfer among said data input, said plurality ofinput/output ports and said data output; control input for inputting asignal for controlling operation of said I/O expansion circuit; a firstbus buffer to provide a status of said data input; a second bus bufferto provide a status of said data bus to said data output based on astate of the signal provided to said control input; and an IO expanderconnected to said data bus and controlled by a control signal providedfrom said control input; said I/O expansion circuit outputs paralleldata provided from a selected one of said input/output ports to saiddata output based on the control signal from said control input, oroutputs parallel data provided from said data input to one of saidinput/output ports selected by the control signal from said controlinput, and outputs the status of said data input or the status of saidselected input/output port; said I/O expansion circuit inputs a commandfor selection of said input/output ports to set an operation mode,selects said input/output ports and inputs data to said data input thatis to be output to said selected input/output ports; said IO expanderselects said input/output port to input a command for selection of saidinput/output and sets the operation mode in transition of a signalprovided to said control input, outputs data provided from said datainput when said command is a write command, and provides a status ofsaid input/output port selected by said command to said data output. 2.An I/O expansion circuit comprising:a plurality of input/output portsfor parallel data; a data input for inputting said parallel data; a dataoutput for outputting said parallel data; a control input for inputtinga signal for controlling operation of said I/O expansion circuit; saidI/O expansion circuit outputs parallel data provided from a selected oneof said input/output ports to said data output based on a control signalfrom said control input, or outputs parallel data provided from saiddata input to one of said input/output ports selected by the controlsignal from said control input, and outputs a status of said data inputor a status of said selected input/output port; a write data bus fordata transfer from said data input to said selected input/output port; aread data bus for data transfer from said selected input/output port tosaid data output; a register installed in said input/output ports forfetching and outputting a status of said write data bus from saidselected input/output port; a buffer installed for said input/outputports to provide the status of said input/output ports to said read databus; a control circuit for fetching a command for selection of one ofsaid input/output ports, setting an operation mode in transition of thesignal provided to said control input; said control circuit outputs thestatus of said selected input/output port via said buffer and said readdata bus from said data output, fetches data provided to said data inputinto said register of the selected input/output port, and outputs thedata from said selected input/output port.